package com.github.kaelthasbmg.factory.convert;

import com.github.kaelthasbmg.bean.Column;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.Map;

/**
 * 转换数据类型类
 *
 * @author Carsymor
 */
public abstract class TypeConverter {

    protected Logger logger = LoggerFactory.getLogger(this.getClass().getName());

    /**
     * 数据类型映射
     */
    protected Map<String, String> typeMapping;

    public TypeConverter(Map<String, String> typeMapping) {
        this.typeMapping = typeMapping;
    }

    /**
     * 转换数据类型
     * @param column 数据列定义
     * @return 转换后的，符合目标数据库要求的数据类型
     */
    public abstract String convert(Column column);
}
